home *** CD-ROM | disk | FTP | other *** search
/ Sky at Night 2009 October / SAN CD 10-2009 CD-ROM 53.iso / pc / system / gdbPopup.dxr / 00007_scrollBar.swf / scripts / frame_1 / DoAction.as
Encoding:
Text File  |  2009-06-29  |  5.3 KB  |  180 lines

  1. function hideScrollbar()
  2. {
  3.    _level0.scrollActive = false;
  4.    _level0.scrollVisible = false;
  5.    _level0.endBarTop_mc._visible = false;
  6.    _level0.endBarBot_mc._visible = false;
  7.    _level0.vertBar_mc._visible = false;
  8.    _level0.scrollBtn_mc._visible = false;
  9. }
  10. function showScrollbar()
  11. {
  12.    _level0.scrollVisible = true;
  13.    _level0.endBarTop_mc._visible = true;
  14.    _level0.endBarBot_mc._visible = true;
  15.    _level0.vertBar_mc._visible = true;
  16.    _level0.scrollBtn_mc._visible = true;
  17. }
  18. function positionBars()
  19. {
  20.    _level0.endBarTop_mc._y = 0;
  21.    _level0.endBarBot_mc._y = _level0.viewHeight - 1;
  22.    _level0.vertBar_mc._height = _level0.viewHeight - 2;
  23.    _level0.vertBar_mc._y = 1;
  24.    _level0.hitArea_mc._height = _level0.viewHeight;
  25.    _level0.hitArea_mc._y = 0;
  26. }
  27. function buildScrollBtn()
  28. {
  29.    _level0.overflow = _level0.contentHeight - _level0.viewHeight;
  30.    var _loc1_ = (_level0.viewHeight - 2) / _level0.contentHeight * (_level0.contentHeight - _level0.overflow);
  31.    _level0.scrollBtn_mc.scrollBtnTop_mc._y = 0;
  32.    if(_loc1_ < _level0.minBtnHeight)
  33.    {
  34.       _level0.scrollBtn_mc.scrollBtnMid_mc._visible = false;
  35.       _level0.scrollBtn_mc.scrollBtnBot_mc._y = _level0.scrollBtn_mc.scrollBtnTop_mc._height;
  36.       _level0.proportionalBtn = false;
  37.       _level0.maxThrow = _level0.viewHeight - 2 - _level0.minBtnHeight;
  38.    }
  39.    else
  40.    {
  41.       _level0.scrollBtn_mc.scrollBtnMid_mc._visible = true;
  42.       _level0.scrollBtn_mc.scrollBtnMid_mc._height = _loc1_ - (_level0.scrollBtn_mc.scrollBtnTop_mc._height + _level0.scrollBtn_mc.scrollBtnBot_mc._height);
  43.       _level0.scrollBtn_mc.scrollBtnMid_mc._y = _level0.scrollBtn_mc.scrollBtnTop_mc._height;
  44.       _level0.scrollBtn_mc.scrollBtnBot_mc._y = _level0.scrollBtn_mc.scrollBtnTop_mc._height + _level0.scrollBtn_mc.scrollBtnMid_mc._height;
  45.       _level0.proportionalBtn = true;
  46.    }
  47. }
  48. function buildScroller(aViewHeight, aContentHeight)
  49. {
  50.    if(aViewHeight != undefined && aContentHeight != undefined)
  51.    {
  52.       if(aContentHeight <= aViewHeight)
  53.       {
  54.          _level0.scrollActive = false;
  55.          _level0.hideScrollbar();
  56.       }
  57.       else
  58.       {
  59.          _level0.viewHeight = aViewHeight;
  60.          _level0.contentHeight = aContentHeight;
  61.          _level0.maxBtnY = aViewHeight - 1;
  62.          _level0.positionBars();
  63.          _level0.buildScrollBtn();
  64.          _level0.maxThrow = aViewHeight - 2 - _level0.scrollBtn_mc._height;
  65.          Stage.height = aViewHeight;
  66.          _level0.scrollRatio = (_level0.contentHeight - _level0.viewHeight) / _level0.maxThrow;
  67.          _level0.scrollBtn_mc._y = _level0.minBtnY;
  68.          _level0.scrollActive = false;
  69.          _level0.showScrollbar();
  70.       }
  71.    }
  72. }
  73. function sendScrollEvent(scrollAmount)
  74. {
  75.    if(scrollAmount != _level0.lastScroll)
  76.    {
  77.       getURL("[\"scrollTo\", " + scrollAmount + "]","");
  78.       _level0.lastScroll = scrollAmount;
  79.    }
  80. }
  81. function activateBtnDrag()
  82. {
  83.    _level0.scrollActive = true;
  84.    _level0.scrollBtn_mc.startDrag(false,_level0.scrollBtn_mc._x,_level0.minBtnY,_level0.scrollBtn_mc._x,_level0.maxBtnY - _level0.scrollBtn_mc._height);
  85.    _level0.onEnterFrame = function()
  86.    {
  87.       var _loc1_ = undefined;
  88.       if(_level0.scrollBtn_mc._y <= _level0.minBtnY)
  89.       {
  90.          _loc1_ = 0;
  91.       }
  92.       else if(_level0.scrollBtn_mc._y >= _level0.maxThrow)
  93.       {
  94.          _loc1_ = _level0.overflow;
  95.       }
  96.       else
  97.       {
  98.          _loc1_ = Math.ceil((_level0.scrollBtn_mc._y - _level0.minBtnY) * _level0.scrollRatio);
  99.       }
  100.       _level0.sendScrollEvent(_loc1_);
  101.    };
  102. }
  103. function deactivateBtnDrag()
  104. {
  105.    _level0.scrollActive = false;
  106.    _level0.scrollBtn_mc.stopDrag();
  107.    delete _level0.onEnterFrame;
  108. }
  109. function stepScroll(aDirection)
  110. {
  111.    var _loc2_ = undefined;
  112.    var _loc1_ = undefined;
  113.    if(aDirection == "up")
  114.    {
  115.       _loc1_ = _level0.scrollBtn_mc._y - _level0.scrollBtn_mc._height;
  116.       if(_loc1_ < _level0.minBtnY)
  117.       {
  118.          _loc1_ = _level0.minBtnY;
  119.          _loc2_ = 0;
  120.       }
  121.    }
  122.    else if(aDirection == "dn")
  123.    {
  124.       _loc1_ = _level0.scrollBtn_mc._y + _level0.scrollBtn_mc._height;
  125.       if(_loc1_ > _level0.maxThrow)
  126.       {
  127.          _loc1_ = _level0.maxThrow;
  128.          _loc2_ = _level0.overflow;
  129.       }
  130.    }
  131.    if(_loc1_ != undefined)
  132.    {
  133.       _level0.scrollBtn_mc._y = _loc1_;
  134.       if(_loc2_ == undefined)
  135.       {
  136.          _loc2_ = Math.ceil((_loc1_ - _level0.minBtnY) * _level0.scrollRatio);
  137.       }
  138.       _level0.sendScrollEvent(_loc2_);
  139.    }
  140. }
  141. var scrollVisible = false;
  142. var scrollActive = false;
  143. var viewHeight;
  144. var contentHeight;
  145. var overflow;
  146. var maxThrow;
  147. var minBtnY = 1;
  148. var maxBtnY;
  149. var minBtnHeight = 16;
  150. var scrollRatio;
  151. var proportionalBtn;
  152. var lastScroll = 0;
  153. this.hitArea = this.hitArea_mc;
  154. this.hitArea_mc._alpha = 0;
  155. scrollBtn_mc.onPress = function()
  156. {
  157.    _level0.activateBtnDrag();
  158. };
  159. scrollBtn_mc.onRelease = function()
  160. {
  161.    _level0.deactivateBtnDrag();
  162. };
  163. scrollBtn_mc.onReleaseOutside = function()
  164. {
  165.    _level0.deactivateBtnDrag();
  166. };
  167. hitArea_mc.onRelease = function()
  168. {
  169.    if(_level0._ymouse < _level0.scrollBtn_mc._y)
  170.    {
  171.       _level0.stepScroll("up");
  172.    }
  173.    else if(_level0._ymouse > _level0.scrollBtn_mc._y + _level0.scrollBtn_mc._height)
  174.    {
  175.       _level0.stepScroll("dn");
  176.    }
  177. };
  178. this.hideScrollbar();
  179. this.stop();
  180.